/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.brain.entity;

import com.thinkgem.jeesite.modules.sys.entity.User;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import com.google.common.collect.Lists;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 用户答题操作记录Entity
 * @author 程展峰
 * @version 2021-09-22
 */
public class BUserOrprInfo extends DataEntity<BUserOrprInfo> {
	
	private static final long serialVersionUID = 1L;
	private User user;		// user_id
	private String userName;		// user_name
	private Date useagetime;		// 耗时 精确到秒
	private Integer score;		// 总得分
	private Integer incorrect;		// 错题数
	private Integer correct;		// 对题数
	private String allcorrected;		// 是否全对, 0否 1是
	private String allincorrected;		// 是否全错, 0否 1是
	private String iscross;		// 是否通过 0否 1是
	private Integer userCurrentStar;		// 用户当前星级
	private Date answerStarttime;		// 答题开始时间
	private String praticeType;		// 比赛类型  001 排位赛,002练习赛
	private Integer praticeSortToday;		// 当天第几局
	private Integer particeTypeSortToday;		// 当天 基于类型的第几局
	private String tenantId;		// 租户ID
	private Integer execriCount;		// 题目总数
	private Integer criticalScore;		// 临界分数
	private List<BOperRecordDetial> bOperRecordDetialList = Lists.newArrayList();		// 子表列表
	
	public BUserOrprInfo() {
		super();
	}

	public BUserOrprInfo(String id){
		super(id);
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	
	@Length(min=0, max=255, message="user_name长度必须介于 0 和 255 之间")
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getUseagetime() {
		return useagetime;
	}

	public void setUseagetime(Date useagetime) {
		this.useagetime = useagetime;
	}
	
	public Integer getScore() {
		return score;
	}

	public void setScore(Integer score) {
		this.score = score;
	}
	
	public Integer getIncorrect() {
		return incorrect;
	}

	public void setIncorrect(Integer incorrect) {
		this.incorrect = incorrect;
	}
	
	public Integer getCorrect() {
		return correct;
	}

	public void setCorrect(Integer correct) {
		this.correct = correct;
	}
	
	@Length(min=0, max=1, message="是否全对, 0否 1是长度必须介于 0 和 1 之间")
	public String getAllcorrected() {
		return allcorrected;
	}

	public void setAllcorrected(String allcorrected) {
		this.allcorrected = allcorrected;
	}
	
	@Length(min=0, max=1, message="是否全错, 0否 1是长度必须介于 0 和 1 之间")
	public String getAllincorrected() {
		return allincorrected;
	}

	public void setAllincorrected(String allincorrected) {
		this.allincorrected = allincorrected;
	}
	
	@Length(min=0, max=1, message="是否通过 0否 1是长度必须介于 0 和 1 之间")
	public String getIscross() {
		return iscross;
	}

	public void setIscross(String iscross) {
		this.iscross = iscross;
	}
	
	public Integer getUserCurrentStar() {
		return userCurrentStar;
	}

	public void setUserCurrentStar(Integer userCurrentStar) {
		this.userCurrentStar = userCurrentStar;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getAnswerStarttime() {
		return answerStarttime;
	}

	public void setAnswerStarttime(Date answerStarttime) {
		this.answerStarttime = answerStarttime;
	}
	
	@Length(min=0, max=255, message="比赛类型  001 排位赛,002练习赛长度必须介于 0 和 255 之间")
	public String getPraticeType() {
		return praticeType;
	}

	public void setPraticeType(String praticeType) {
		this.praticeType = praticeType;
	}
	
	public Integer getPraticeSortToday() {
		return praticeSortToday;
	}

	public void setPraticeSortToday(Integer praticeSortToday) {
		this.praticeSortToday = praticeSortToday;
	}
	
	public Integer getParticeTypeSortToday() {
		return particeTypeSortToday;
	}

	public void setParticeTypeSortToday(Integer particeTypeSortToday) {
		this.particeTypeSortToday = particeTypeSortToday;
	}
	
	@Length(min=0, max=64, message="租户ID长度必须介于 0 和 64 之间")
	public String getTenantId() {
		return tenantId;
	}

	public void setTenantId(String tenantId) {
		this.tenantId = tenantId;
	}
	
	public Integer getExecriCount() {
		return execriCount;
	}

	public void setExecriCount(Integer execriCount) {
		this.execriCount = execriCount;
	}
	
	public Integer getCriticalScore() {
		return criticalScore;
	}

	public void setCriticalScore(Integer criticalScore) {
		this.criticalScore = criticalScore;
	}
	
	public List<BOperRecordDetial> getBOperRecordDetialList() {
		return bOperRecordDetialList;
	}

	public void setBOperRecordDetialList(List<BOperRecordDetial> bOperRecordDetialList) {
		this.bOperRecordDetialList = bOperRecordDetialList;
	}
}